\chapter{Description des op\'erations utilisateurs}
\label{chap:desc.oper.util}
\minitoc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
L'interface utilisateur est d\'efinit de fa\c{c}on formelle dans le dossier des Sp\'ecifications externes. Il met en forme les diff\'erentes 
interactions 
utilisateurs. Deux principaux modules viendront enrichir la console web :
\begin{itemize}
 \item Notification Board - visualisation des notifications
 \item Notification Editor - cr\'eation et \'edition des notifications
\end{itemize}
Un troisi\`eme module, Autonomous, utilis\'e pour \'editer des r\`egles, serra r\'ealis\'e par un autre stagiaire. Les interfaces de
Notification Editor et d'Autonomous sont pratiquement les m\^emes.


\section{Fonctionnement d'un module sous Kerneos}

Les deux principales fonctionnalit\'es identifi\'ees sont les suivantes :
\begin{itemize}
\item Recherche automatique des modules embarqu\'es ;
\item Chargement et d\'echargement des modules.
\end{itemize}

Kerneos est d\'eploy\'e sous forme d'archive contenant un ensembles de modules et g\`ere l'identification des utilisateurs. Apr\`es la phase 
d'identification, Kerneos charge l'ensemble des modules; le chargement correspond implicitement \`a une proc\'edure de boot de chaque module afin 
que 
celui-ci puisse envoyer les informations correspondants au service qu'il fournit. Kerneos enregistre alors les services et cr\'ee pour chacun un 
flux par lequel passe toute requ\^ete demandant ce service.

Le diagramme de s\'equence dans la figure \ref{fig:kerneos.sequence} montre la suite d'op\'erations mettant en \oe uvre le fonctionnement de 
Kerneos avec un module qu'il embarque.


 \begin{figure}
   \includegraphics[width=1.0\textwidth]{Desc_oper/kerneos_sequence}
   \caption{\label{fig:kerneos.sequence} Fonctionnement de Kerneos}
\end{figure}



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Le module d'\'edition de r\`egles : Autonomous (Rules Editor)}
Autonomous fournit une interface conviviale d'\'edition de r\`egles \`a l'utilisateur.  L'ajout d'une r\`egle se fait en 3 phases.

\begin{description}
\item \textbf{La premi\`ere phase} :
La premi\`ere phase consiste \`a remplir l'ent\^ete de la r\`egle. Il s'agit globalement de l'assigner un nom et le message 
l'accompagnant une notification qu'elle aurait provoqu\'e.
\item \textbf{La deuxi\`eme phase} :
La deuxi\`eme phase consiste \`a \'editer la r\`egle proprement dite. Ici, il faut remplir la partie ``WHEN'' de 
la r\`egle, qui repr\'esente la condition.
\item \textbf{La troisi\`eme phase} :
La troisi\`eme phase consiste \`a remplir la partie action de la r\`egle. Cette partie permet de pr\'eciser l'action de notification \`a effectuer 
si un 
\'ev\'enement quelconque satisfait l'ensemble des conditions de la r\`egle.  Une notification peut ainsi \^etre persist\'ee en base de donn\'ees, 
envoy\'ee par 
mail, affich\'ee sur une console etc.
\end{description}

Le diagramme de s\'equence dans la figure \ref{fig:edition.regle} d\'ecrit la suite d'op\'erations \`a effectuer dans le cadre de l'\'edition 
d'une r\`egle.
 \begin{figure}
   \includegraphics[width=1.2\textwidth]{Desc_oper/edition_regle}
   \caption{\label{fig:edition.regle}  L'\'edition d'une r\`egle}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Module de gestion des notifications : Notification Board}

Notification Board est l'interface d'administration des notifications lev\'ees. Elle pr\'esente sous forme chronologique l'ensemble des notifications 
r\'esultant des diverses r\`egles inject\'ees dans le moteur de r\`egles. Son interface permet \`a l'administrateur d'acquitter les notifications.

Le diagramme de s\'equence dans la figure \ref{fig:ack.notif} d\'ecrit la suite d'op\'erations \`a effectuer pour acquitter une notification.

 \begin{figure}
   \includegraphics[width=1.2\textwidth]{Desc_oper/ack_notification}
   \caption{\label{fig:ack.notif}  Acquittement d'une notification}
\end{figure}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%end Description_utilisateurs.tex
